package com.styletransfer.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 通知实体类
 */
@Data
public class Notification {
    
    /**
     * 通知ID
     */
    private Long id;
    
    /**
     * 接收用户ID
     */
    private Long userId;
    
    /**
     * 发送用户ID
     */
    private Long fromUserId;
    
    /**
     * 发送用户名称（非数据库字段，关联查询）
     */
    private String fromUserName;
    
    /**
     * 发送用户头像（非数据库字段，关联查询）
     */
    private String fromUserAvatar;
    
    /**
     * 通知类型
     * new_work: 新作品
     * new_comment: 新评论
     * system: 系统通知
     */
    private String type;
    
    /**
     * 通知内容
     */
    private String content;
    
    /**
     * 资源ID（作品ID或评论ID）
     */
    private Long resourceId;
    
    /**
     * 是否已读
     * 0: 未读
     * 1: 已读
     */
    private Integer isRead;
    
    /**
     * 状态
     * 1: 正常
     * 0: 已删除
     */
    private Integer status;
    
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}
